23

» WarCraft 3 / Вылетает карта

Похожие вопросы:

ответ
В этом архиве ищи свои скиллы, в [скобках] смотри нужный ID.
ответ
Нужно использовать всем игрокам эту прогу и скинуть логи потом.
ответ
XGM Bot:
Похожие вопросы:

ответ
Здравствуй, я твой лучший друг!
Эмм, но кто ты?
Меня зовут Резервная Копия! ^ _ ^
ответ
вероятность 75% поврежден файл (что-то например лагнуло при сохранении прошлом). Если все в игре идеально работает, то только одно объяснение приходит на ум - темные силы.
ответ
Ещё стоит зайти в корневую папку, далее maps, там найди папку "Test", если ты свою карту не давно юзал, там она будет.
ответ
Ток бекап, видимо синий экран вылетел в момен когда редактор удалил старую карту и начал создавать новую, сохраняя данные в архив - архив битый, т.к не содержит всех данных, которые не были сохранены редактором.
Если используешь JNGP - то папочка backups в помощь, там твои труды за полгода=)

ответ
после внесения изменений карту надо сохранить вручную кнопкой сохранить, а только потом жать проверку карты, иначе будет вылет в меню.
ответ
проведя еще пару часов за тестами, в голову пришла мысль о фаталках из-за большого числа юнитов на мелководье
остановился на том, что ошибка вылетела из-за случайных точек спауна по квадрату на мелко-глубкоководной местности. сделал спаун в отдельных мини областях - ошибка исчезла

23

» WarCraft 3 / защита карты

Похожие вопросы:

ответ
Защитить mpq (а карта это тот-же mpq с минимумом отличий) так чтобы его не мог понять никто можно, беда в том, что тогда его не поймет и сам варкрафт. Большинство простых mpq редакторов испоьлзуют ту-же библиотеку для работы с MPQ что и сам варкрафт, что это значит, думаю, догадаться не сложно.
ответ
никак
ответ
Ну да, после этого в редакторе карт не откроешь. Но им и никто не пользуется для этого, когда есть MPQ Editor.
ответ
lll_Kirito_lll:
Хочется иметь у себя только модель допустим )
Как вариант, сделать так, что бы модель была разбита на множество текстур которые раскиданы по самым дурацким путям. Ни какой картодел не будет вытаскивать такую модель, ни за что.
ответ
Tumart:
quq_CCCP, а можно поподробнее? И это защитит карту от инжекта?
Подробно - это сделай за меня?
Суть:
 call  BJDebugMsg( I2Sx( 100500  ) )
Выдаст разные значения в депротектнутой и нормальной картах, пока это теория но возьмите и проверьте.
I2Sx - фольклорная функция ретурн бага, суть преобразует хеш от строки в строку. именно хеш а не инт. т.е адрес в таблице строк на строку.
вот RetunrBug ( www.hiveworkshop.com/threads/accessing-memory-from-the-script-it... )
функция в либе Typecast - I2SH
Ну кароче проверил:
function Trig_J_Test_Actions takes nothing returns nothing
    local integer i = 486
    local string str = null
    set str = S2S( I2SH( i ) )
    call BJDebugMsg( str )
    set str = null
endfunction

//===========================================================================
function InitTrig_J_Test takes nothing returns nothing
    set gg_trg_J_Test = CreateTrigger(  )
    call TriggerRegisterPlayerEventEndCinematic( gg_trg_J_Test, Player(0) )
    call TriggerAddAction( gg_trg_J_Test, function Trig_J_Test_Actions )
endfunction
При добавлении, удалении 3 функций сменяется строка по этому адресу, самое главное найти последнюю строку (ну или как я от балды ввел число) хотя я не уверен что прокатит с числом от балды, нужно найти последнюю строку на момент загрузки карты и смотреть её адрес, а после смотреть что будет записано по этому адресу в таблице строк.

23

» WarCraft 3 / Экспорт моделей

Похожие вопросы:

ответ
Оказывается можно, просто mdlvis неправильно работает с нормалями, в war3 model editor'е всё корректно отображается.
Чтобы избежать изменение направления нормалей, просто не надо сохранять модель в mdlvis'е.
ответ
Можно.
ответ
для блендера есть только один плагин - импортёр...
который глючный и совсем негодный...
напрямую конвертить не получится...
уж тем более с анимациями...
есть вариант конверта в милкшейп (опять че через сторонний аддон), а оттуда в .мдх
конвертит хорошо, с костями, но анимацию убивает...
есть NeoDex для 3dsMax, в котором по плану можно делать всё и конвертить напрямую в .мдх...
ответ
повторю опять свой вопрос
у тебя в папке есть файлы формата mpq?
если есть то открой их другим архиватором
если нету то это твои проблемы и никто тебе не поможет

23

» WarCraft 3 / виндволк

Похожие вопросы:

ответ
в структуре юнита счетчик есть, тащем-та
RMem(unit+0x1D0)
>0 == сайленс
ответ
Уже есть самостоятельная идея... По похожему принципу уже действует другой спелл.
Короче, изучается сразу аура, без всяких извращений. А по нажатию кнопки "S" - стоп - она блокируется для игрока и юниту, которому нажали, выдается абила-пустышка, типа аура не действует, снова S - активируется обратно.
Минусы: ни один другой такой же герой того же игрока, пока отключена аура, выучить эту ауру не сможет в это время; иногда приказ стоп действует без ручной активации, что немного неприятно. Но это реально НЕ критично (героев одинаковых у одного игрока почти никогда не бывает, а нажать стоп не проблема, если не задизейблен, ну а что задизейбленным не можешь переключать ауру - фича).
Вот только надо будет еще учесть маловероятный, но все же возможный факт, что юнит с отключенной аурой сможет вообще перестать существовать и тогда ее включить получится в принципе невозможно. Учту периодиком...
Зато ГИГАНТСКАЯ экономия усилий при создании и НИКАКОГО прелоада не надо (в принципе 1-уровневую абилу-пустышку "аура отключена" уж можно не прелоадить, хотя можно и прелоаднуть).
ответ
ну да
CHANNEL - CAST - EFFECT - ENDCAST - FINISH
какое-то из них ты будешь использовать для стопа, и все ассоциативные триггшеры выполнятся, но не дальше, само собой.

23

» WarCraft 3 / Сквозь юнита

Похожие вопросы:

ответ
Николь, как бы способы указали. Вперед экспериментировать. Вместо вас никто делать не будет.
ответ
Eamon Flann:
Оказывается, отрицательную высоту для летающих зданий можно устанавливать, если поставить Art - Elevation - Sample Ponts: 0
SсRealm:
А еще можно повернуть нездание а том сделать зданием и поворот останется , правда в игре может сместитьтя внезапно))
А вместе с этим способом это, вроде бы как, решило мою проблему. Спасибо всем, кто попытался помочь :)
Melissa:
И ещё заметка - делать декорации юнитами - больная идея. Если их будет сотня другая - то ещё не конец света, но несколько сотен таких "декораций" - жди проседаний в производительности.
Да там и сотни не наберется, так что все нормально :)
ответ
Steal nerves:
K0META, ты прав. проверил. короче еще с этим нужно карту пути скопировать у портала и вставить в поле вашего здания.
через триггеры это раздел "Боевая единица" - Set Unit Collosion Off
ответ
Ознакомились с правилами сайта и создали вопросы отдельно

23

» WarCraft 3 / Стан

Похожие вопросы:

ответ
Создать список "станящих" баффов, при потере баффа из этого списка проверять есть у юнита еще какой либо бафф из списка.
Если нет - снимать паузу, если есть - ничего не трогать.
ответ
лови приказ и будет тебе счастье
ISSUED_*_ORDER
ответ
~16GB:
ImbaStyle,
приказ windwalk отдаётся в стане
ответ
Нашёл адекватное решение своей проблемы: громовая поступь Кэрна.

23

» WarCraft 3 / Москиты

Похожие вопросы:

ответ
В теории, да - будут работать.
На практике - лучше проверь, это вар, тут возможно все.
ответ
Ааа, ну тогда смотри
не_кликабельность Сларка делается так
а - его морфят в юнит без модельки
б - ему дают москитов и отбирают (что бы на него нельзя было кликнуть, но можно было выделить)
в - все события "атакован" приводятся к действию "стоп", если это Сларк
г - аура регена игнорирует то что Сларка видят
у тебя на пути стоит пункт Б, т.к. что бы умные люди не заменяли себе пустую модельку (пункт А) на нормальную и не могли на неё в итоге тыкать... Так что в итоге - ты можешь её заменить, но тыкнуть всё равно не сможешь... шах и мат
ответ
найти в разделе действий с юнитами приказ без цели crypt lord - locust swarm
ответ
ой сорь, забыл малость, там не событе а функция с похожим названием:
Прикладываю пример, чтобы потом не ныли что не работает...
ответ
С москитами точно так же двигается, вы наверное забыли что юниты с москитами нельзя выбрать функцией ForGroup.

23

» WarCraft 3 / Не выделяемый юнит

Похожие вопросы:

ответ
Ааа, ну тогда смотри
не_кликабельность Сларка делается так
а - его морфят в юнит без модельки
б - ему дают москитов и отбирают (что бы на него нельзя было кликнуть, но можно было выделить)
в - все события "атакован" приводятся к действию "стоп", если это Сларк
г - аура регена игнорирует то что Сларка видят
у тебя на пути стоит пункт Б, т.к. что бы умные люди не заменяли себе пустую модельку (пункт А) на нормальную и не могли на неё в итоге тыкать... Так что в итоге - ты можешь её заменить, но тыкнуть всё равно не сможешь... шах и мат

23

» WarCraft 3 / Как сделать способность?

Похожие вопросы:

ответ
Лови карту.
ответ
Steal nerves:
есть такая стандартная способность у орков.
второй вариант - триггерный. с помощью системы урона
ответ
Fireproof, попробуй в РО у юнита поменять "Графика - Анимация - обратный ход броска" и "Графика - Анимация - точка броска" на 0. Правда, это уберёт время каста для всех умений у этого юнита.
ответ
  1. В кампании орды за Рекксара медведь призывается без ограничения по времени.
  2. Любая способность призыва, в которой указать количество призываемых юнитов = 0.
ответ
Кину наработку, в триггерах разбираешься?
ЛПХОХЫОПЫ, сделано. Как делается. можно посмотреть в триггерах.

23

» WarCraft 3 / Способности и текст

Похожие вопросы:

ответ
Спасибо всем за ответы и пояснения! Закрываю флудильню :с
ответ
потому что баш дает дополнительный урон при срабатывании, а не на постоянной основе
ответ
ClotPh:
Кривой перевод, а, может, и оригинал (не помню).

23

» WarCraft 3 / Поворот

Похожие вопросы:

ответ
ответ
Отловить приказ постройки и ПОВЕРНУТЬ триггерно.
ответ
поверни их в mdlvis и все
ответ
воскрешаешь декорацию, делаешь её на 0.1% видимую (можно через анимацию), дальше AddSpecialEffectTarget указываешь твой декор и новую модель
тем самым видеть будут эффект под нужным углом, а атаковать и выделять все ту же декорацию
ответ
Steal nerves:
перевод градусы в радианы, радианы в градусы
Ну чтобы перевести, из градусов в радианы
180° = pi радиан = 3,14...
Если знаешь расположение градусов в окружности (там 2pi = 360°, или pi/2 = 90°)
60° = pi/3 радиан = 3,14/3 = 1,0466
30° = pi/6 радиан = 3,14/6 = 0,5233
Или использовать готовую формулу
Angle to Radians => Angle *pi / 180 (формула)
pi/180 = 3,14/180 = 0,01744 (коэффициент, записан в варе в переменную-множитель bj_DEGTORAD)
_________________
Чтобы перевести из радиан в градусы
Использую формулу
Radians to Angle => Radians * 180 / pi
1 радиан = 57,32°
0,5 радиан = 0,5 * 180/3,14 = 28,6°
Используют точно также переменную-множитель bj_RADTODEG, но с другим названием. Там было Deg to Rad (перевести в радианы), здесь Rad to Deg (в градусы)
тут есть погрешности до десятичных, до сотых и более. Поэтому может не соответствовать. Это как пример. Считал сам. А вообще юзайте готовые переменные и не морочьте голову
код
local unit u = GetTriggerUnit()
local real a = GetUnitFacing(u) * bj_DEGTORAD //GetUitFacing возвращает параметры в градусы, поэтому нужно перевести в радианы
local real x = GetUnitX(u) + 100. * Cos(a)
local real y = GetUnitY(u) + 100. * Sin(a)
//потом то-то делаешь. x, y
xgm.guru/p/wc3/179127 тут есть пример карта, на гуи там, но переделать можно и на jass (там кастер двигается в ту сторону, куда смотрит). И пример в качестве кода, если нужно двигать относительно двух точек (сделал пример движение снаряда от Кастера к цели)

23

» WarCraft 3 / Возможно ли такое

Похожие вопросы:

ответ
Через дамми-каст:
Создаешь пустышку с описанием и передаешь ее герою.
При касте этого спелла создаешь даммика(невидимого/пустого юнита с нужными способностями) и кастуешь нужный спелл.
Дамми при этом занят кастом спелла, а герой может делать все что угодно
ответ
ВНЕЗАПНО это делается одним действием: Игра - Enable/Disable Drag-Selection (настроенное на Disable drag-selection functionality (disable drag-selection box)).
ответ
Юзай ретурн баг, он снова доступен...
Просто массив целочисленных куда записаны ид code.
Вот ссылочка
ответ
GF RaiseD:
Делал как-то спелл, для реализации которого пришлось понять как полностью блокировать любое количество урона.

23

» WarCraft 3 / Переменные.

Похожие вопросы:

ответ
Что такое "назначить пользовательский параметр юнита или предмета" и как им пользоваться?
Используется для сохранения каких-нибудь своих данных в этот конкретный предмет или юнита
Добрые люди, как присвоить глобальной переменной (целочисленной) цену определенного предмета (так чтобы если изменить цену в редакторе объектов, то в редакторе триггеров она сама изменялась) или какая главная характеристика определенного героя (разум, сила, ловкость).
Никак, только руками указывать или использовать это xgm.guru/p/fly-data
ответ
  1. к глобалкам созданным через гуи надо дописывать udg_
udg_ab
  1. округли вниз переводом в целое с помощью R2I
... + I2S(R2I(damage)) + ...
ответ
название KillUnit не совсем подходит
я бы назвал killUnitFromUnit или просто killFromUnit
Пушистый, а можно проще
define KillUnit(a) = KillUnit2(a)
по поводу правил
название должны соответствовать выполняемой функции
например если логическая переменная хранит жив юнит или нет то называться она должна isAlive или как то так
+ различные правила написания для различных языков
например в java первое слово в названии функции/переменной пишется с маленькой буквы а остальные с большой, а в названиях классов все слова с большой
в jass официальных соглашений нету но близы писали в функциях каждое слово с большой а константы большими буквами разделяя слова _
ответ
создать массив областей, каждой присвоить номер, потом рандомным числом пикать

23

» WarCraft 3 / Предметы

Похожие вопросы:

ответ
Так ты же выключаешь триггер на 18 секунд вот он и не срабатывает.
Поставь условие, что герыч не имеет абилки-пустышки, если не имеет - дать её и через 18 сек забрать и пустить молнию.
Правда я не уверен насчёт того, отловится ли attacking unit через 18 сек вейта, проверь...
Вообще, если устраивает орбом - то даёшь "сферу молний" с эффектом "цепь молний", у которой 18 сек перезарядка(у цепи не у сферы)
ответ
Melissa:
а какая способность у этого предмета?
Разобрался с этой проблемой.
ответ
TripleKor, нет, есть действие - скрыть предмет, скрывает предмет с карты, делая невидимым и не выделяемым.
Орбы в как в диабло делаются из юнитов, ну а у героя событие - юнит подошел к другому юниту, условие - подошедший юнит твой дамми предмет, ну и действие думаю понятно...
ответ
Все предметы изночально принадлежать враждебным, юзайте Custom value предмета, если 0 то предмет еще никто не подобрал, значит его получили убив монстра или купили, значит ставим ему custom value с номером игрока (нумеруйте не с 0, а с 1). Легко и просто, правда?

23

» WarCraft 3 / По моделям.

Похожие вопросы:

ответ
~8gabriel8:
Открывай *.MDX в mdlvis и сохраняй как *.MDL, там без мешанины.
ответ
1 и 2. Выделить декорацию и нажать Ctrl+PageUp / Ctrl+PageDown.
ответ
.:GreiN:., среди mpq есть порядок обработки и war3patch.mpq имеет высший приоритет среди них
т.е. если текстура есть в war3.mpq и war3patch.mpq то будет использоваться текстура из war3patch.mpq
так что попробуй закинуть текстуру в war3patch.mpq
редактор может тупить с новыми текстурами/моделями
его нужно перезапускать чтобы всё нормально отображалось
проверяй модели и текстуры в игре
ответ
Если хочешь качественную анимацию,где двери шлюза закрываются,то сделай двери гармошкой.
А лучше сделать две модели дверей шлюза.Одни двери открыты,а другие закрыты.И менять их видимости в анимах.
ответ
~8gabriel8:
Короче, обнаружил просто ошибку в пути файла, вот нормальная версия:
Если кому-то ещё понадобится это, то там ошибка в пути текстуры розовой модели. Вместо Glow стоит Gloe.

23

» WarCraft 3 / хочу найти карту с моделями

Похожие вопросы:

ответ
ответ
В одном вопросе один вопрос, и данный модуль не очень хорошо подходит для ведения таких бесед с коммунитьи. Создайте проект или ведите блог.

23

» WarCraft 3 / Грейд

Похожие вопросы:

ответ
попробуй через условие равному манны у точки, и там через действие.

сообразил?
ответ
Steal nerves:
анимацию апгрейда можно проиграть
а чтоб постоянная была. то прописыают триггером тэг анимации. или видел как у Иллидана? там два юнита: охотник и демон. Посмотри как у демона сделано. там есть прописано alternate

23

» WarCraft 3 / Двойной урон

Похожие вопросы:

ответ
хм, щас придумаю... Возможно так : создаешь триггер с событием, ну там что-то связаное с улучшением способности (точно не помню). Далее пишешь:
  1. создаешь структуру
  2. создаешь локальный таймер (1-2 сек нормально)
  3. вносишь данные в структуру
  4. запускаешь таймер
  5. добавляешь в структурную группу всех юнитов в регионе ( какой тебе нужно)
  6. ForGroup добавить способность всем юнитам в группе ну и дейсвтия ауры какие там еще....
PS забыл сказать про условие в таймере:
Если у юнита нет способности , то остановить таймер, сломать структуру и тд.
Если тебе не понятно, то завтра могу тебе написать (дай мне знать)
и Еще скажи мне, ты на JNGP работаешь?
ответ
SetUnitPropWindow
Спс, что то раньше этой нативки не видел, ну пока сделал на пересоздании предмета, там посмотрим.

23

» WarCraft 3 / Общие войска

Похожие вопросы:

ответ
ilsva, конечно не сработает
оно всех союзников игрока 1 заставляет считать всех компов союзниками и отдать им контроль над своими войсками.
тебе нужна функция PlayerGroup from Player и поменять порядок - сперва комп, потом игрок (а для надежности можно оба направления). Ну и проверку на то, комп ли игрок делать отдельно через if и условия на Player Controller и Player Slot Status.
ответ
Общее поле зрения:
Make 'player' treat 'player2 ' as Противник с общим полем зрения
Общие войска эсть только у союзников, или моих знаний недостаточно для создания общих войск у врагов.
ответ
В игровых константах поищи пункты про передачу ресурсов.
ответ
скрыть мультиборд
есть действие такое
да и удалить мультиборд должно быть
ответ
Всем спасибо. Попробую создать через погрузку, должно выглядеть ок.

23

» WarCraft 3 / Ландшафт

Похожие вопросы:

ответ
Cпособ #1
Самый простой вариант, это найти и скачать WE Unlimited. Редактор хоть и стар как сам варкрафт. но у него есть так называемый Enchacer. Через данный Enchacer можно вытаскивать любые данные и даже манипулировать импорт и путями. Единственный недостаток, что запускается он не на всех ОС из-за требования каких-то dll которые являются интегрированными в XP, но за каким то чудом нет в остальных Windows, так что придется немного потанцевать с бубном, но потом ты сможешь хоть ландшафт из стандартной карты интегрировать.
Способ #2
MPQ архиватором вскрываешь архив карты и находишь данные о ландшафте и обо всем что на нем стоит. Ищешь или создаешь карту с нужным тебе ландшафтом, и затем интегрируешь все уже в свою карту.
Оба способа требуют манипуляций с файлами, зато позволяет эксплуатировать главную карту как бессмертное ядро, которому надо всего лишь менять внешнюю оболочку в лице ландшафта и декора.
ответ
Предел - 16 тайлсетов, для этого используй Unlimited WE а лучше Jass New Gen Pack 2. Вопрос про 1 и 2 не совсем понял, поясни.
ответ
карта должна быть сохранена перед этой командой, вроде
и надо будет перезапустить редактор после использования чтобы изменения вступили в силу
ответ
Тайлы добавляются в расширенной версии редактора. xgm.guru/p/wc3/jassnewgenpack-r
ответ
Дело не в ландшафте. Список доступных героев редактируется в РО: Технологии - Войск продано.

23

» WarCraft 3 / Запрет передачи предметов

Похожие вопросы:

ответ
ответ
Поскольку его не пугает наличие большого влияния промахов на геймплей - скорее всего он делает рпг. Имхо в рпг всегда клево смотрятся тексттаги полученного урона, для создания которых необходимы триггеры на отлов получения урона. А отлавливаемый урон - можно и прохилить.
Для прохила(и вообще всех манипуляций с задержкой в 0.00 сек) лично я юзаю такие костыли:
Либа здесь только для доп табуляции. Я за чистый жасс + дефайны.
library ZeroTimeEvent

    globals
        constant integer ZTEArraySize = 64//Even 32 is alot, 64 is too much! Exactly what I need!
        timer Zero//Used for 0. sec uses
        integer ZTECurrent = 0
        unit array ZTEUnits[ZTEArraySize]
        integer array ZTEIntegers[ZTEArraySize]
        real array ZTEReals[ZTEArraySize]
        trigger array ZTETriggers[ZTEArraySize]
    endglobals
    
    function ZeroTimeEvent takes nothing returns nothing
            loop
                set  ZTECurrent = ZTECurrent - 1
                call TriggerExecute( ZTETriggers[ZTECurrent] )
                exitwhen ZTECurrent < 1
            endloop
    endfunction
    
    #define ZTEAddUnit(u) = {
        set  ZTEUnits[ZTECurrent] = u
    }
    
    #define ZTEAddInteger(i) = {
        set  ZTEIntegers[ZTECurrent] = i
    }
    
    #define ZTEAddReal(r) = {
        set  ZTEReals[ZTECurrent] = r
    }
    
    #define ConfirmZTE(trig) = {
        set  ZTETriggers[ZTECurrent] = trig
        set  ZTECurrent = ZTECurrent + 1
        call TimerStart( Zero, ZeroTime, false, function ZeroTimeEvent )
    }
    
    
    
endlibrary
Пример использования
#define UnitRemoveForceAttack(u) = {
    call UnitAddAbility( u, 'Abun' )
    call UnitRemoveAbility( u, 'Abun' )
         ZTEAddUnit(u)
         ConfirmZTE(CheckIfUnitHasA002)
}
Минус такой системы в необходимости создавать триггер для каждого блока кода, т.к. массивы блоков кода запрещены

23

» WarCraft 3 / Многие юнитов

Похожие вопросы:

ответ
Это давно обсуждалось. вопрос удаление события
Создание триггер события — 3 утечки. Стереть переменный триггер, и минус 1. Получается остается 2 утечки.
Вот если удалить юнита (Remove unit), то он стирается из события другого триггера?
Ответ: Да есть способ: вот шпаргалка
ответ
Не используй событие "каждые n сек". Я уже написал, как нужно делать.
Чтобы заменять только нужный тип юнитов, в действиях пиши первую строку из того, что я написал, а дальше условие "если тип юнита u равно id (равкод) нужного тебе юнита, то",в теле этого условия пиши всё, что после первой строки.
ответ
Steal nerves:
ну как? берешь любой спелл, делаешь его пустышкой (там все значения на ноль), и триггерно что-то делает. Дамажишь юнитов с баффом и прочее
когда ты вешаешь бафф, то в системе урона ("событие - юнит получает урон") всплывает "нолик". Короче система будет показывать, что нанесли 0 единиц урона (хотя урона нет никакого). Можно узнать дамагера, ну и кто повесил баффик (кто повесил бафф можно также узнать по событию - юнит приводит способность в действие, переводится как приводит эффект в действие, типа эффект это бафф) Кстати сразу узнать есть ли бафф у юнита по событию может и не получится, обычно через ноль секунд (типа эффект не сразу накладывает, точно также как и с событие урона, урон есть, но его еще не нанесли, только через 0.00 сек. ).
ответ
  • Выбираешь всех целевых юнитов в группу.
  • Создаёшь дамми.
  • Используя ForGroup и GetEnumUnit, применить на каждого юнита в группе заклинание.
  • Очищаешь групппу.
  • Удаляешь группу.
  • Удаляешь дамми.

У дамми-юнита должны стоять настройки анимации, позволяющие применять способности без задержек, у способности не должно быть кулдауна.
ответ
ClotPh:
Ige, т. е. как-то так (при инициализации)?
call Preload (war3mapImported\SingerOfDeath1.wav)
call Preload("war3mapImported\\SingerOfDeath1.wav")

23

» WarCraft 3 / IsUnitDeadBJ()

Похожие вопросы:

ответ
Impertus:
quq_CCCP:
Без локейшенов, набери
	GetRandomReal( GetRectMinX( bj_mapInitialPlayableArea ), GetRectMaxX( bj_mapInitialPlayableArea )  )
Для Y думаю догадаешся как найти...
Размер карты-то изначально известен, можно обойтись и рандомом между статичными цифирями. Думал над этим вариантом тоже, значит будем пользовать его.
nvc123:
к слову этот вообще не рабочий ибо количество итераций циклов может превысить лимит потока и тогда триггер просто обрубится
Ставить таймеры по 0.5 сек? Такого вида?
loop
        exitwhen  IsUnitDeadBJ(BET) or BECo > 20
        if (TimerGetRemaining(t) <= 0) then
            call MoveLocation( p, GetRandomReal ( X1, X2), GetRandomReal (Y1, Y2))
            call SetUnitMoveSpeed( BET, 500.00 )
            call IssuePointOrderLocBJ( BET, "move", p )
            set BECo = BECo + 0.5
            call TimerStart(t, 0.5, false, null)
        endif     
endloop
Таймер не вейт, он запустить новый Поток когда истечет, в функции старта таймера 4 параметра, таймер, время, периодичный буль и ссылка на код .
вместо null нужно вписать function Имя функции
functiom Timer_UnitMove_Expires takes nothing returns nothing
    // эта функция будет вызыватся каждые 0.50 сек. пока не остановить таймер
endfunction


function A takes nothing returns nothing
local timer t = CreateTimer( )

call TimerStart( t, 0.50, true, function Timer_UnitMove_Expires )

set t = null
endfunction
Чтобы передавать информацию между функциями нужны так называемые Аттачи, нужно прикрепить данные к триггеру или таймеру, потому что мы можем получить ссылку на них в запущенных ими потоками.
Про хештаблицу куча данных на сайте, SaveUnitHandle( хештаблица, ключ 1, ключ 2, сам юнит )
ответ
FenikS1991, убери стоимость в 15 маны.

23

» WarCraft 3 / Как создать героя на которого действуют только способности

Похожие вопросы:

ответ
должен сразу предупредить что делать за тебя никто не будет
теперь по твоим вопросам
  1. чтобы нельзя было кликать скрываешь, даёшь москиты, делаешь видимым
  2. действие проиграть звук и указываешь твою фразу
  3. выбираем всех подходящих(враги,живые) юнитов в радиусе от точки каста и создаём по дамми юниту(юнит без модели, без атаки, с москитами, с нужной способность, время жизни юнита 1 сек) для каждого подходящего юнита приказывая дамми юниту применить нужную способность в подходящего юнита
таким образом каждый дамми юнит применит нужную способность (в твоём случае корни) в 1 подходящего юнита для которого он и был создан а потом исчезнет
  1. система отлова урона
  2. морф юнита либо орбы
всё что я не описал есть в статьях
тебе нужны первые 2 раздела ("Основы" и "Триггеры и объекты")

23

» WarCraft 3 / Не использовали способности.

Похожие вопросы:

ответ
ИИ написать, сами скиллы юзают тока крипы подконтрольные ИИ - к примеру нейтральновраждебные.
Так же можно юзать скилл - Сфера замедления, это орб эффект который срабатывая накладывает на цель атаки указанный в его настройках скилл, подойдет для карт типа Castle Fight.
ответ
ИИ чтоли не кастует? Сделай триггерный каст, Событие - юнит обнаружил цель в пределах досягаемости, проглотить не в кулдауне и цель неуязвимый враг, пойти и проглотить юнита...
ответ
Fireproof, попробуй в РО у юнита поменять "Графика - Анимация - обратный ход броска" и "Графика - Анимация - точка броска" на 0. Правда, это уберёт время каста для всех умений у этого юнита.
ответ
Ну тебе нужно чтобы был прямо таки бафф который можно рассеивать?
Для начала сделай способность, и баф на основе какой нибудь пустышки, подойдет ярость у некромантов, так же переодический триггер который раз в пол секунды проверяет всех юнитов в группе, есть ли у них бафф если юнит мертв или у него нет баффа, то у юнита удаляется способность на доп урон зданиям и сам унит удаляется из группы.
При касте твоим шаманов заклинания на цель, ты добавляешь цель заклинания в группу, которую и перебирает описанный выше триггер.
Надеюсь понятно?
ответ
datar1231, Именно поэтому говорят не делать 2 две способности от друга потому когда юнита приходит приказ на использование способности он использует твою нестандартную способность но основываясь на айди стандартной способности или делай на основе другой или незанаю подействует ли канал.